package com.study.langchain4j.service;

import dev.langchain4j.model.input.structured.StructuredPrompt;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.spring.AiService;
import dev.langchain4j.service.spring.AiServiceWiringMode;
import lombok.Data;

/**
 * @author xl-9527
 * @since 2025/11/2
 **/
@AiService(wiringMode = AiServiceWiringMode.EXPLICIT, chatModel = "chatModel")
public interface AssistantService {

    String normalChat(String userMessage);

    UserInfoWithStructuredPromptDTO normalStructuredChat(@UserMessage String userMessage);

    @Data
    @StructuredPrompt("你的名字是{{name}}，你的年龄是{{age}}")
    class UserInfoWithStructuredPromptDTO {

        private String name;

        private Integer age;
    }
}
